From bc7615a229fe8a2e7a1889b0468e68c3203cf3d1 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Mon, 8 Aug 2005 16:51:02 +0000 Subject: [PATCH] That one is obviously needed to make pae xen-linux work with more than 4GB. --- linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h index 42093d96bd..601a48e7f8 100644 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h @@ -132,7 +132,8 @@ static inline int pte_none(pte_t pte) #define INVALID_P2M_ENTRY (~0U) #define FOREIGN_FRAME(_m) ((_m) | (1UL<<((sizeof(unsigned long)*8)-1))) -#define pte_mfn(_pte) ((_pte).pte_low >> PAGE_SHIFT) /* FIXME */ +#define pte_mfn(_pte) ( ((_pte).pte_low >> PAGE_SHIFT) |\ + (((_pte).pte_high & 0xfff) << (32-PAGE_SHIFT)) ) #define pte_pfn(_pte) \ ({ \ unsigned long mfn = pte_mfn(_pte); \ -- 2.30.2